extends Node

func _ready():
	#使用百分号%加s可以作为占位符，格式是：%s
	#在有占位符的字符串后面加%“字符串”可以将占位符替换成字符串
	print("这是一个占位符：%s" % "这个占位符将会被替换成字符串")

	#使用字符串.format（）函数可以用相应的值替换字符串中的键
	print("这是一个键：{键}".format({"键":"这个键将会被替换为字符串"}))

	#当拥有多个占位符时，值是以数组形式传递的，数组的值数量必须和占位符的数量相同
	print("1、%s，2、%s" % ["占位符一","占位符二"])

	#占位符类型
	print("字符串：%s" % "字符串占位符")#表示替换字符串的占位符：%s
	print("Unicode字符：%c" % 65)#表示单个Unicode字符的占位符：%c，需要一个整数
	print("十进制整数：%d" % 12)#表示十进制整数的占位符：%d
	print("八进制整数：%o" % 9)#表示八进制整数的占位符:%o
	print("小写字母十六进制整数：%x" % 11)#表示小写字母十六进制整数的占位符：%x
	print("大写字母十六进制整数：%X" % 12)#表示小写字母十六进制整数的占位符：%X
	print("十进制浮点数：%f" % 3.14)#表示十进制浮点数数的占位符：%f

	#内边距
	print("%10d" % 12345)#通过在占位符中间加整数，来在数字前填充
	print("%010d" % 12345)#如果中间的整数前面有零，则填充零
	print("%10.2f" % 3.141592653)#通过占位符中间加点.来指定小数的精度
	print("%-010d" % 54321)#通过在前面加减号可以向右填充，处理向右对齐的字符

	#使用星号*可以替换字符串中的填充或精度,使填充和精度可以动态修改
	print("%*.*f" % [7,2,3.141592653])
	#在星号之前添加零仍然可以将填充字符改为零
	print("%0*d" % [2,3])

	#要在格式化字符串中显示百分号，需要进行转义，格式是两个百分号：%%
	print("这是百分号：%%，这是字符串：%s" % "字符串")
	print("这是百分号：%")#非格式化字符串不需转义

	#format（）函数的各种方式
	#字典方式
	print("名字：{字符串}，年龄：{数字}".format({"字符串":"我","数字":30}))#字典键值方式
	print("名字：{0}，年龄：{1}".format({0:"你",1:13}))#字典索引方式
	print("名字：{0}，年龄：{数字}".format({0:"他","数字":20}))#字典混合方式
	#数组方式
	print("名字：{字符串}，年龄：{数字}".format([["数字",18],["字符串","我"]]))#数组键值方式
	print("名字：{0}，年龄：{1}".format(["你",27]))#数组索引方式
	print("名字：{字符串}，年龄：{0}".format([6,["字符串","他"]]))#数组混合方式

	#format函数和占位符混合使用
	print("字符串：{0}，浮点数：{数字}".format({0:"字符","数字":"%.2f" % 3.141592653}))

#func _process(delta):
#	# Called every frame. Delta is time since last frame.
#	# Update game logic here.
#	pass
